using System; 

namespace Tortuga.Core {

	/// <summary>
	/// An object representing a SVN revision number.
	/// </summary>
	public class Revision {
		private int? _value = null;

		/// <summary>
		/// Instantiantes a new Revision object with a value of Revision.Head
		/// </summary>
		public Revision() { }

		/// <summary>
		/// Instantiates a new Revision object with the passed revision number.
		/// </summary>
		/// <param name="revisionNumber"></param>
		public Revision(int? revisionNumber) {
			_value = revisionNumber;
		}

		/// <summary>
		/// Gets or sets the revision number.
		/// </summary>
		public int? Value {
			get { return _value; }
			set { _value = value; }
		}

		public static Revision Head { get { return new Revision(Int32.MinValue); } }
	}
}
